const app = getApp();
const utils = require('../../utils/utils.js')
var aim = 1;
Page({
    data: {
        canIUse: wx.canIUse('button.open-type.getUserInfo'),
        scene: 0,
        canIUseGetUserProfile: false,
    },
    // 监听页面加载
    onLoad: function (options) {
        if (wx.getUserProfile) {
            this.setData({
              canIUseGetUserProfile: true
            })
        }
        let scene = options.scene;
        this.setData({
            scene: scene
        });
        // console.log("跳转到授权页面的场景值==》" + scene);
        aim = 1;
        // 获取用户授权code
        this.getWxOpenid();
    },
    // ================== 获取用户授权code =======================
    getWxOpenid: function () {
        let that = this;
        wx.login({
            success(res) {
                if (res.code) {
                    utils.httpRequest('/login', {
                        code: res.code
                    }, function (res) {
                        if (res.data.openid) {
                            wx.setStorageSync("openID", res.data.openid);
                            app.globalData.openID = res.data.openid;
                            app.globalData.sessionKey = res.data.sessionKey;
                            // 查看用户是否授权
                            that.userIsAuth();
                        } else {
                            if (aim < 3) {
                                wx.showToast({
                                    title: 'openID获取失败',
                                    duration: 2000,
                                    icon: 'none'
                                });
                                that.getWxOpenid();
                            } else {
                                wx.showModal({
                                    title: '温馨提示',
                                    content: '您点击了拒绝登录，将无法进入小程序，请登录之后再进入!!!',
                                    showCancel: false,
                                    confirmText: '返回登录',
                                    success: function (res) {
                                        if (res.confirm) {
                                        }
                                    }
                                });
                                return
                            }
                            aim++;
                        }
                    })
                }
            }
        })
    },

    // ===================== 判断用户是否授权 =============================
    userIsAuth() {
        let scene = this.data.scene;
        utils.httpRequest('/checkAuth', {}, function (res) {
            if (res.code == 1) {
                if (res.data.is_auth == 1) { //已授权
                    if (scene == 1) {
                        // 跳转到个人中心
                        wx.redirectTo({
                            url: '/pages/user/user'
                        })
                    } else if (scene == 2) {
                        var pages = getCurrentPages();
                        var prevPage = pages[pages.length - 2]; //上一个页面
                        //直接调用上一个页面的setData()方法，把数据存到上一个页面中去
                        prevPage.setData({
                            scene: 2
                        })
                        // 跳转回到 租借充电宝页面
                        wx.navigateBack({//返回
                            delta: 1
                        })
                    } else if (scene == 3) {
                        var pages = getCurrentPages();
                        var prevPage = pages[pages.length - 2]; //上一个页面
                        //直接调用上一个页面的setData()方法，把数据存到上一个页面中去
                        prevPage.setData({
                            scene: 3
                        })
                        // 跳转回到 租借充电宝页面
                        wx.navigateBack({//返回
                            delta: 1
                        })
                    } else {
                        wx.redirectTo({
                            url: '/pages/index/index'
                        })
                    }
                }
            }
        })
    },
    // ===================== 微信用户授权登录 =============================
    bindGetUserInfo: function (e) {
        var that = this;
        if (e.detail.userInfo) {
            utils.httpRequest('/info', {
                "encryptedData": e.detail.encryptedData,
                "rawData": e.detail.rawData,
                "iv": e.detail.iv,
                "signature": e.detail.signature,
                "openid": app.globalData.openID,
                "sessionKey": app.globalData.sessionKey
            }, function (res) {
                if (res.code == 1) {
                    wx.getLocation({
                        type: 'gcj02',
                        success: (res) => {
                            app.globalData.longitude = res.longitude;
                            app.globalData.latitude = res.latitude;
                        },
                        fail: (res) => {
                        }
                    });
                    // 查看用户是否授权
                    that.userIsAuth();
                } else {
                    wx.showToast({
                        title: res.msg,
                        duration: 2000,
                        icon: 'none'
                    })
                }
            })
        } else { //用户按了拒绝按钮
            wx.showModal({
                title: '温馨提示',
                content: '您点击了拒绝登录，将无法进入小程序，请登录之后再进入!!!',
                showCancel: false,
                confirmText: '返回登录',
                success: function (res) {
                    if (res.confirm) {
                    }
                }
            })
        }
    },

    getUserProfile(e) {
        // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
        // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
        let that = this;
        wx.getUserProfile({
            desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
            success: (res) => {
                utils.httpRequest('/updateUserInfo', {
                    "nickName": res.userInfo.nickName,
                    "gender": res.userInfo.gender,
                    "language": res.userInfo.language,
                    "city": res.userInfo.city,
                    "province": res.userInfo.province,
                    "country": res.userInfo.country,
                    "avatarUrl": res.userInfo.avatarUrl
                }, function (res) {
                    if (res.code == 1) {
                        wx.getLocation({
                            type: 'gcj02',
                            success: (res) => {
                                app.globalData.longitude = res.longitude;
                                app.globalData.latitude = res.latitude;
                            },
                            fail: (res) => {
                            }
                        });
                        // 保存用户信息
                        app.globalData.userInfo = res.data.user;
                        // 查看用户是否授权
                        that.userIsAuth();
                    } else {
                        wx.showToast({
                            title: res.msg,
                            duration: 2000,
                            icon: 'none'
                        })
                    }
                })
            },
            fail: (res) =>{
                wx.showModal({
                    title: '温馨提示',
                    content: '您点击了拒绝登录，将无法进入小程序，请登录之后再进入!!!',
                    showCancel: false,
                    confirmText: '返回登录',
                    success: function (res) {
                        if (res.confirm) {
                        }
                    }
                })
            }
        })
    },
})